﻿// CMakeProject1.cpp: 定义应用程序的入口点。
//
#include <iostream>
#include <string>
#include "CfgMgr.h"
using namespace std;


#define LDEBUG(x, ...) printf(x"\n", ##__VA_ARGS__)
#define LERROR(x, ...) printf("[error] "x"\n", ##__VA_ARGS__)

const static char * BIN_PATH = "/home/wyl/test/ExcelCfgForCpp/Demo/cfgBin/";

int main()
{
	CfgMgr::Ins().Init(BIN_PATH);
	
	LDEBUG("PlayerSheet1");
	for (auto& i : gCfgMgr.GetAllPlayerSheet1Cfg())
	{
		LDEBUG("==========");
		const PlayerSheet1Cfg& cfg = i.second;
		LDEBUG("id=%d", cfg.id);
		LDEBUG("type=%s", cfg.type.c_str());
		LDEBUG("doubleNum=%f", cfg.doubleNum);
		LDEBUG("nuint32a=%d", cfg.nuint32a);
		LDEBUG("nuint64a=%ld", cfg.nuint64a);
		LDEBUG("nint64a=%ld", cfg.nint64a);


		LDEBUG("item[0]=%d", cfg.item[0]);
		LDEBUG("item[1]=%d", cfg.item[1]);

		LDEBUG("num[0]=%d", cfg.num[0]);
		LDEBUG("num[1]=%d", cfg.num[1]);

		LDEBUG("str[0]=%s", cfg.str[0].c_str());
		LDEBUG("str[1]=%s", cfg.str[1].c_str());
	}

	LDEBUG("PlayerSheet2");
	for (auto& i : gCfgMgr.GetAllPlayerSheet2Cfg())
	{
		LDEBUG("==========");
		const PlayerSheet2Cfg& cfg = i.second;
		LDEBUG("id=%d", cfg.id);
		LDEBUG("lv=%ld", cfg.lv);
		LDEBUG("d=%f", cfg.d);
	}

	LDEBUG("Player2Sheet1");
	for (auto& i : gCfgMgr.GetAllPlayer2Sheet1Cfg())
	{
		LDEBUG("==========");
		const Player2Sheet1Cfg& cfg = i.second;
		LDEBUG("id=%d", cfg.id);
		LDEBUG("lv=%ld", cfg.lv);
		LDEBUG("d=%f", cfg.d);
	}

	LDEBUG("Player2Sheet2");
	for (auto& i : gCfgMgr.GetAllPlayer2Sheet2Cfg())
	{
		LDEBUG("==========");
		const Player2Sheet2Cfg& cfg = i.second;
		LDEBUG("id=%d", cfg.id);
		LDEBUG("name=%s", cfg.name.c_str());
	}
	return 0;
}
